package com.neouton.crm.generalPayRecord.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.neouton.crm.entity.SysUserEntity;
import com.neouton.crm.generalPayRecord.entity.GeneralPayRecord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface GeneralPayRecordMapper {

    IPage<GeneralPayRecord> queryGeneralPaymentRecordsList(@Param("page")IPage<GeneralPayRecord> page, @Param("entity") GeneralPayRecord generalPayRecord, @Param("userList") List<SysUserEntity> userList);

    List<GeneralPayRecord> queryGeneralPayRecordedMoney(@Param("vo") GeneralPayRecord entity);

    List<GeneralPayRecord> queryHistoryPayRecordedMoney(@Param("vo") GeneralPayRecord entity);

    boolean saveManagerPaymentRecords(@Param("vo") GeneralPayRecord entity);

    GeneralPayRecord queryManagerPayRecordInfoById(@Param("payRecordsId")Integer payRecordsId);

    void backUpManagerPaymentRecord(@Param("payRecordsId")Integer payRecordsId, @Param("backUserId")Integer userId);

    void updateManagerPaymentRecordsById(@Param("vo") GeneralPayRecord entity);

    GeneralPayRecord queryManagerPayRecordHistory(Integer approvalId);

    List<GeneralPayRecord> queryPaymentRecordsListInfo(@Param("entity") GeneralPayRecord paymentRecords, @Param("userList")List<SysUserEntity> userList);

    List<GeneralPayRecord> getPayRecords();

    Boolean deletePayRecordsById(Integer payRecordsId);
}
